package SpringCloudBase.pre;

import com.netflix.zuul.ZuulFilter;
import org.springframework.stereotype.Component;

/**
 * @ClassName ZuulFilterPre
 * @Description : 功能说明
 * @Author : LiangT
 * @Date : 2020/4/2 17:45
 */
@Component
public class ZuulFilterPre extends ZuulFilter {

    /**
     * 类型包好pre、post、route、error
     * pre在代理之前执行
     * route在代理时候执行
     * error错误时执行
     * post 最后支持
     * @return
     */
    @Override
    public String filterType() {
        return "pre";
    }

    /**
     * filter是链式调用
     * javaee会根据filter配置执行
     * zuul根据order决定，越小越先执行
     * @return
     */
    @Override
    public int filterOrder() {
        return 1;
    }

    /**
     * 是否使用过滤器
     * @return
     */
    @Override
    public boolean shouldFilter() {
        return false;
    }

    /**
     * 过滤器执行内容
     * @return
     */
    @Override
    public Object run() {
        System.out.println("执行了过滤器！！");
        return null;
    }
}
